package com.lemieripetizioni.adapter;

import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.lemieripetizioni.R;
import com.lemieripetizioni.datamodel.Ripetizione;
import com.lemieripetizioni.dbadapter.ImageLoader;

public class RipetizioneListAdapterWithCache extends ArrayAdapter<Ripetizione> {

	private LayoutInflater inflater;
	public ImageLoader imageLoader;
	int resourceId;

	public RipetizioneListAdapterWithCache(Context ctx, int resourceId, List<Ripetizione> objects, Activity form1) {
		super(ctx, resourceId, objects);
		// Cache the LayoutInflate to avoid asking for a new one each time.
		inflater = LayoutInflater.from(ctx);
		imageLoader = new ImageLoader(ctx);
		this.resourceId = resourceId;
	}

	@Override
	public View getView(int position, View vi, ViewGroup parent) {
		// Planet to display
		Ripetizione r = (Ripetizione) getItem(position);

		// Create a new row view

		// TODO da ottimizzare
		if (vi == null)
			vi = inflater.inflate(resourceId, null);

		TextView date = (TextView) vi.findViewById(R.id.data);
		TextView ora_inizio = (TextView) vi.findViewById(R.id.ora_inizio);
		TextView ora_fine = (TextView) vi.findViewById(R.id.ora_fine);
		ImageView image = (ImageView) vi.findViewById(R.id.url_foto);

		if (image != null) {
			imageLoader.DisplayImage("/storage/sdcard0/Download/ragazza_carina_libri.jpeg", image);
		}

		Button buttonPrenota = (Button) vi.findViewById(R.id.prenota);
		if (buttonPrenota != null) {
			buttonPrenota.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View arg0) {
					// TODO Auto-generated method stub
					new AlertDialog.Builder(getContext())
			        .setIcon(android.R.drawable.ic_dialog_alert)
			        .setTitle("Conferma prenotazione")
			        .setMessage("Sei sicuro di voler confermare questa lezione?")
			        .setPositiveButton("Yes", new DialogInterface.OnClickListener()
			    {
			        @Override
			        public void onClick(DialogInterface dialog, int which) {
//			            finish();    
			        	Toast.makeText(getContext(), "E' stata inviata una mail al docente in cui confermi la prenotazione!\nGrazie!", Toast.LENGTH_LONG).show();
			        }

			    })
			    .setNegativeButton("No", null)
			    .show();
				}
			});
		}

			date.setText(r.getData());
		ora_inizio.setText(r.getOra_inizio());
		ora_fine.setText(r.getOra_fine());

		date.setFocusable(false);
		ora_inizio.setFocusable(false);
		ora_fine.setFocusable(false);

		return vi;
	}

}